package com.chinatechstar.file.service;

import java.io.IOException;
import java.util.Map;

import org.springframework.web.multipart.MultipartFile;

/**
 * 文件信息的业务逻辑接口层
 *
 */
public interface FileService {

    /**
     * 查询文件分页
     *
     * @param currentPage      当前页数
     * @param pageSize         每页记录数
     * @param originalFilename 文件名称
     * @param sorter           排序
     * @return
     */
    Map<String, Object> queryFile(Integer currentPage, Integer pageSize, String originalFilename, String sorter);

    /**
     * 删除文件
     *
     * @param id 文件ID
     * @throws IOException
     */
    void deleteFile(Long[] id) throws IOException;

    /**
     * 上传文件
     *
     * @param file       文件资源
     * @param id         用户ID
     * @param uploadType 上传类型
     * @throws IOException
     */
    void uploadFile(MultipartFile file, Long id, String uploadType) throws IOException;

    /**
     * 上传文件
     *
     * @param file 文件资源
     * @throws IOException IOException
     * @return com.chinatechstar.file.entity.File
     */
    com.chinatechstar.file.entity.File uploadFile(MultipartFile file) throws IOException;

}
